]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lookingGlass: Use Clutter.grab() for actor picking
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 17 Nov 2021 23:13:45 +0000 (00:13 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 29 Jan 2022 00:16:29 +0000 (01:16 +0100)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045>

js/ui/lookingGlass.js

index 433102cfb68b8644aa7d584931ded95274f0339b..b3e7f2117888e3a50b3b4c7b3acf6a6772bf66f5 100644 (file)
@@ -558,12 +558,7 @@ var Inspector = GObject.registerClass({
         eventHandler.connect('scroll-event', this._onScrollEvent.bind(this));
         eventHandler.connect('motion-event', this._onMotionEvent.bind(this));
 
-        let seat = Clutter.get_default_backend().get_default_seat();
-        this._pointerDevice = seat.get_pointer();
-        this._keyboardDevice = seat.get_keyboard();
-
-        this._pointerDevice.grab(eventHandler);
-        this._keyboardDevice.grab(eventHandler);
+        this._grab = global.stage.grab(eventHandler);
 
         // this._target is the actor currently shown by the inspector.
         // this._pointerTarget is the actor directly under the pointer.
@@ -596,8 +591,10 @@ var Inspector = GObject.registerClass({
     }
 
     _close() {
-        this._pointerDevice.ungrab();
-        this._keyboardDevice.ungrab();
+        if (this._grab) {
+            this._grab.dismiss();
+            this._grab = null;
+        }
         this._eventHandler.destroy();
         this._eventHandler = null;
         this.emit('closed');